var mongoose = require('mongoose');
const News = require('../model/news.model'); // 数据模型
// 增
exports.create = function(req, res, next) {
  const news = new News(req.body);
  // 实例化对象,req.body代表是post的数据提交，并且参数从body中获取
  news.save().then(data => {
    // 数据保存，在保存以后将数据用json形式进行输出
    res.json(data);
  });
};
// 删
exports.remove = function(req, res, next) {
  var id = req.params.id;
  News.findByIdAndRemove(id, function(err, data) {
    res.json({ message: '删除成功' });
  });
};

// 改 req.body,req.query,req.params
exports.update = function(req, res, next) {
  // 先查找一个id值
  const id = req.params.id;
  News.findByIdAndUpdate(id, { $set: req.body }, { new: false }).then(data => {
    res.json(data);
  });
};

// 查
exports.list = function(req, res, next) {
  var page = req.body.page ? req.body.page : 1;
  var rows = req.body.rows ? req.body.rows : 5;
  var queryCondition = {};

  if (req.body.title && req.body.title.trim().length > 0) {
    title = req.body.title;

    queryCondition = {
      title: new RegExp(title, 'i')
    };
  }

  if (req.body.cateId && req.body.cateId.trim().length > 0) {
    cateId = req.body.cateId;
    queryCondition = Object.assign(queryCondition, {
      cateId: cateId
    });
  }

  News.paginate(queryCondition, { page: +page, limit: +rows }, function(
    err,
    result
  ) {
    result.rows = result.docs;
    delete result.docs;
    res.json(result);
  });
};
